package com.moyu.plugins.pokemsg;

import java.io.File;
import java.io.IOException;

import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;

public class CustomConfig {
	
	private File pzYml = null;
	private FileConfiguration  pz = null;
	private final String name;

	/*****************************
    ||		额外配置构造器		||
    *****************************/
	public CustomConfig(String name) {
		this.name = name + ".yml";
	}

	/*********************************
    ||		额外配置默认覆盖方法		||
    **********************************/
	public void saveDefaultConfig(){

		if (pzYml == null) {
			pzYml = new File(Bukkit.getPluginManager().getPlugin("PokeMsg").getDataFolder(), name);
		}
		//假如文件不存在
		if (!( pzYml.exists() )) 
		{ 
			Bukkit.getPluginManager().getPlugin("PokeMsg").saveResource(pzYml.getName(), true);
			Bukkit.getPluginManager().getPlugin("PokeMsg").getLogger().info(pzYml.getName()+"已成功导入~");
		}

	}
	
	/*************************
    ||		配置重载方法		||
    **************************/
	public void reloadConfig() {
		if (pzYml == null) {
	        pzYml = new File(Bukkit.getPluginManager().getPlugin("PokeMsg").getDataFolder(), name);
		}
	    pz = YamlConfiguration.loadConfiguration(pzYml);
	}
	
	/*************************
    ||		配置获取方法		||
    **************************/
	public FileConfiguration getConfig() {
		if(pz == null)
			this.reloadConfig();
		
	    return pz;
	}
	
	/*************************
    ||		配置保存方法		||
    **************************/
	@SuppressWarnings("unused")
	public void saveConfig() {
		try
		{
			pz.save(pzYml);
		}
		catch(IOException e)
		{
			e.printStackTrace();
		} 
		
	}
	
	/*************************
    ||		配置删除方法		||
    **************************/
	@SuppressWarnings({"ResultOfMethodCallIgnored", "unused"})
	public void deletePz() {
		if( pzYml.exists() )
			pzYml.delete();
	}
}
